This invention relates to a printer. More particularly, the invention relates to a printhead controller for controlling printing of an image by a printhead and to a method of controlling a printhead.
According to a first aspect of the invention, there is provided a printhead controller for controlling printing of a page by at least one printhead, the printhead controller being connected, in use, via a data communications link to a printer controller for receiving data, in a compressed format, relating to the page to be printed, the data including a page description comprising a bi-level black layer and a contone color layer, the printhead controller including
a first decoding means for expanding compressed data relating to the bi-level black layer;
a second decoding means for expanding compressed data relating to the contone color layer, the first and second decoding means being arranged in parallel;
a first temporary storage device for storing the expanded data from the first decoding means;
a second temporary storage device for storing the expanded data from the second decoding means;
a data manipulating means for manipulating the data output from the first and second temporary storage devices to be fed to the printhead; and
a printhead interface at an output from the data manipulating means for controlling at least one printhead connectable to the interface and for feeding the manipulated data to the printhead.
The printhead may be a pagewidth printhead. In this specification, unless the context clearly indicates otherwise, the term xe2x80x9cpagewidth printheadxe2x80x9d is to be understood as a printhead having a printing zone that prints one line at a time on a page, the line being parallel either to a longer edge or a shorter edge of the page. The line is printed as a whole as the page moves past the printhead and the printhead is stationary, ie it does not raster or traverse the page.
The first decoding means may be a lossless bi-level decompression device for decompressing the bi-level black layer. The decompression device may be a standard Group 4 Fax decoder.
The second decoding means may be a high quality lossy decompression device for decompressing the contone color layer. The decompression device may be a standard JPEG decoder.
The data manipulating means may include a ditherer/compositor unit and a third temporary storage device at an output to the unit, the unit being operable to composite the bi-level black layer on the contone color layer after dithering of the color layer. The unit may be a custom built unit.
Each of the first temporary storage device, the second temporary storage device and the third temporary storage device may be a FIFO. It will be appreciated that the functional units are pipelined with the FIFO""s which are on-chip and arranged between each functional unit and its successor in the pipeline.
According to a second aspect of the invention, there is provided in a printhead controller for controlling printing of a page by a printhead, the printhead controller being connected, in use, via a data communications link to a printer controller for receiving data, in a compressed format, relating to the page to be printed, the data including a page description comprising a bi-level black layer and a contone color layer, a method of controlling at least one printhead connected to the printer controller includes the steps of
expanding compressed data relating to the bi-level black layer;
expanding compressed data relating to the contone color layer;
storing the expanded data in first and second temporary storage devices respectively;
feeding the expanded data from the storage devices to a data manipulating means;
manipulating the data into a format suitable for printing;
loading at least one printhead with dots to be printed in accordance with the formatted manipulated data; and
printing the dots.
The steps of expanding the two layers may occur substantially simultaneously. The method may include expanding the data relating to the bi-level black layer using a lossless bi-level decompression device. The method may also include expanding the data relating to the contone color layer using a high quality lossy decompression device.
The manipulating of the data may include dithering the contone color layer, compositing the bi-level black layer on the dithered contone color layer and temporarily storing a dithered/composited layer so formed in a storage device prior to printing the dots.
The method may include operating the printhead controller as a self-synchronising pipeline.